#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;

int n;
int arr[51];
int maxx;

bool func()
{
    for (int i = 0; i < n; i++)
    {
        if (maxx % arr[i]) return false;
        int x = maxx / arr[i];
        if (x & (x - 1)) return false;
    }
    return true;
}

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
        maxx = max(maxx, arr[i]);
    }

    if (func()) cout << "YES" << endl;
    else cout << "NO" << endl;

    return 0;
}

//
//
//#include <iostream>
//#include <string>
//using namespace std;
//
//string a, b;
//
//int main()
//{
//    cin >> a >> b;
//    int m = a.size(), n = b.size();
//    int ret = m;
//    for (int i = 0; i <= n - m; i++)
//    {
//        int tmp = 0;
//        for (int j = 0; j < m; j++)
//        {
//            if (a[j] != b[i + j])
//                tmp++;
//        }
//        ret = min(ret, tmp);
//    }
//    cout << ret << endl;
//
//    return 0;
//}